package com.example.commons;

import com.fasterxml.jackson.annotation.JacksonAnnotationsInside;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;

import java.lang.annotation.*;

/**
 * 脱敏注解
 */
@Target({ElementType.FIELD,ElementType.TYPE}) //
@Retention(RetentionPolicy.RUNTIME)
@Documented
@JacksonAnnotationsInside // 表示该注解是一个jackson的注解
@JsonSerialize(using = DataMaskingSerializer.class) // 使用自定义序列化器
public @interface DataMask {
    // 默认是手机号脱敏
    MaskTypeEnum function() default MaskTypeEnum.PHONE;
}
